Data centers, compute clouds, and other networks of cooperating hosts often use virtual machines (VMs) for management and efficiency benefits. In some cases, a virtual machine image such as a “golden image” may be duplicated and used in multiple virtual machines. That is, a root or base virtual machine image may exist at a management server, and virtual machines on hosts may be running copies of the base virtual machine image.
At times, it may be desirable to update or patch the software such as applications and operating systems on virtual machines. Often, the same patch must be applied to all of the virtual machines that are based on a same virtual machine image. That is, virtual machines using copies of a base virtual machine image may need a same patch or update. Typically, this has involved, for running virtual machines, copying a patch, installing the patch, and restarting the virtual machine and its guest operating system. However, restarting a virtual machine may present problems. Particularly in environments of distributed or highly interconnected applications, or with applications that require minimal downtime, restarting may disrupt a service or affect a Service Level Agreement. Even in cases where there is only virtual machine to be updated, it may nonetheless be inconvenient to restart that virtual machine.
Techniques related to updating virtual machine images of live virtual machines are discussed below.